Method and apparatus for spinning a multiphase motor for a disk drive system from an inactive state

ABSTRACT

A method and apparatus are disclosed for controlling the operation of a multiphase motor, and particular to spinning the motor from an inactive state to an operable state. The method and apparatus include initially sensing an electrical characteristic of one or more phase windings, such as performing an inductive sense operation. Having sensed values of the electrical characteristic, a determination is made as to whether or not the motor&#39;s rotor is spinning. Upon a determination that the rotor is not spinning, a spin-up operation is performed to bring the spin of the rotor to operable spin speeds. On the other hand, upon a determination that the rotor is spinning, a resynchronization operation is performed to synchronize the application of drive signals for the phase windings of the motor to the dynamic position of the rotor.

BACKGROUND OF THE INVENTION

[0001] 1. Technical Field of the Invention

[0002] This invention relates to improvements in circuitry for drivingpolyphase motors, and more particularly to improvements in circuitry fordriving polyphase dc motors, and still more particularly to a method andapparatus for relatively rapidly driving a polyphase motor for a diskdrive from an inactive state to an operable state for performing amemory access.

[0003] 1. Background of the Invention

[0004] Although the present invention pertains to multiphase and/orpolyphase dc motors, in general, it finds particular application inconjunction with three phase dc motors, particularly of the brushless,sensorless type which are used for rotating data media, such as found incomputer related applications, including hard disk drives, CD ROMdrives, floppy disks, and the like. In computer applications, threephase brushless, sensorless dc motors are becoming more popular, due totheir reliability, low weight, and accuracy.

[0005] Motors of this type can typically be thought of as having astator with three coils connected in a “Y” configuration, althoughactually, a larger number of stator coils are usually employed withmultiple motor poles. Typically, in such applications, eight pole motorsare used having twelve stator windings and four N-S magnetic sets on therotor, resulting in four electrical cycles per revolution of the rotor.The stator coils, however, can be analyzed in terms of three “Y”connected coils, connected in three sets of four coils, each physicallyseparated by 90 degrees. In operation, the coils are energized insequences, in each of which a current path is established through twocoils of the “Y” with the third coil left floating. The sequences arearranged so that as the current paths are changed, or commutated, one ofthe coils of the current path is switched to float, and the previouslyfloating coil is switched into the current path. Moreover, the sequenceis defined such that when the floating coil is switched into the currentpath, current will flow in the same direction in the coil which wasincluded in the prior current path. In this manner, six commutationsequences are defined for each electrical cycle in a three phase motor.

[0006] In the past, during the operation of a polyphase dc motor for adisk drive system, such as a spindle motor for spinning the disk mediaupon which data is stored, it has been recognized that maintaining aknown position of the rotor of the motor is an important concern. Therehave been various ways by which this was implemented. The most widelyused way, for example, was to start the spindle motor in a knownposition, then develop information related to the instantaneous orcurrent position of the rotor. One source of such instantaneous positioninformation was developed as a part of the commutation process, andinvolved identifying the floating coil, and monitoring its back emf,that is, the emf induced into the coil as it moves through the magneticfield provided by the stator.

[0007] When the voltage of the floating coil crossed zero (referred toin the art as “a zero crossing”), the position of the rotor was assumedto be known. Upon the occurrence of this event, the rotor coilcommutation sequence was incremented to the next phase, and the processrepeated. The assumption that the zero crossing accurately indicated therotor position was generally correct if the spindle motor wasfunctioning properly, and nothing had occurred which would disturb itssynchronization from its known startup position. However, in reality,events occur which sometimes result in a loss of synchronization. Such aloss of synchronization may occur, for instance, if the spindle motor ofthe disk drive is slowed due to a relatively prolonged absence ofrequests to access the disk drive. The motor controller of the diskdrive must thereafter determine the state of the rotor in order toappropriately respond to the reception of a memory access request. Inparticular, the motor controller must relatively rapidly spin up and/orincrease the spin of the motor to an operable spin level before therequested memory access can occur.

[0008] Conventional disk drive systems attempted to quickly spin up thespindle motor from an inactive state by initially tri-stating the phasewindings of the motor for a sufficient period of time to detect at leasttwo consecutive zero crossings of the back emf signals associated withthe phase windings. In the event the rotor is spinning very slowly, theamount of time necessary to detect consecutive zero crossings mayundesirably approach several hundred milliseconds. Once consecutive zerocrossings of the back enf signals are detected, thereby indicating aspinning rotor, a resynchronization procedure is executed to synchronizeto the rotor spin the application of drive signals to the motor's phasewindings. In the event successive zero crossings of the back emf signalsare not detected even after the lapse of several hundred milliseconds,an inductive sense routine is initiated to determine the position of therotor, followed by executing a spin-up procedure to bring the spindlemotor to the desired operable speed. Consequently, the delay related toreturning rotor spin to operable levels may be excessive.

[0009] Based upon the foregoing, there is a need for a controller andmethod for controlling the motor of a disk drive to efficiently increasemotor spin to operable spin speeds following periods of disk driveinactivity.

SUMMARY OF THE INVENTION

[0010] The present invention overcomes shortcomings in prior andexisting disk drive systems and satisfies a significant need for highspeed disk drive operation. According to a preferred embodiment of thepresent invention, a controller for a multiphase disk drive motor, suchas the spindle motor, initially executes a sense operation following aperiod of disk drive inactivity so as to obtain an electricalcharacteristic of one or more phase windings of the motor. Havingobtained the electrical characteristic, the controller determineswhether or not the motor's rotor is spinning as well as the currentposition of the rotor. In the event the rotor is determined to bespinning, the controller then executes a resynchronization operation tosynchronize the application of the drive signals to the already spinningrotor. In the event the controller determines that the motor's rotor isnot spinning, a spin-up operation is executed by the controller to spinup the motor from the inactive state to an operable state. Because thetime to execute the initial sense operation is substantially less thanthe time to execute the initial resynchronization operation in priorsystems for a slowly moving rotor, the time to bring the rotor up to aspin level to suitably access the disk is markedly reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] A more complete understanding of the system and method of thepresent invention may be obtained by reference to the following DetailedDescription when taken in conjunction with the accompanying Drawingswherein:

[0012]FIG. 1 is a function block diagram of a system having a disk driveaccording to a preferred embodiment of the present invention;

[0013]FIG. 2 is a schematic diagram of the controller for the spindlemotor of the disk drive of FIG. 1, in conjunction with the spindlemotor's phase windings, according to a preferred embodiment of thepresent invention; and

[0014]FIG. 3 is a flow chart illustrating the operation of thecontroller shown in FIGS. 1 and 2 in accordance with a first embodimentof the present invention; and

[0015]FIG. 4 is a flow chart illustrating the operation of thecontroller shown in FIGS. 1 and 2 in accordance with a second embodimentof the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EXEMPLARY EMBODIMENTS

[0016] The present invention will now be described more fullyhereinafter with reference to the accompanying drawings in which apreferred embodiment of the invention is shown.

[0017] Referring to FIG. 1, there is shown a block diagram of a datastorage and/or computational system 1 including a disk drive 2 inaccordance with the present invention. Disk drive 2 includes a storagemedium in the form of one of more disks 3, each of which may containdata on both sides of the disk. Data is written to disks 3 and/or readtherefrom by one or more read/write heads 4. The read/write head 4 isconnected to an arm 5, with both read/write head 4 and arm 5 beingpositionally controlled by a voice-coil motor (“VCM”) 6 and a positionsystem 7. The position system 7, through VCM 6, positionally maintainsand/or moves head 4 radially over the desired data on disks 3. A readchannel 8 converts an analog read signal from head 4 into digital form.A write channel 9 provides data in analog form to read/write head 4 forstoring on a disk 3. A pre-amplifier 10 suitably conditions data readfrom and data to be written to disk 4. Channel controller 11 recognizesand organizes the digital data from the read channel 8 and digital datato be sent to write channel 9 into bytes of data. An interface adapter12 provides an interface between channel controller 11 and a system bus13 that may be particular to the host system. The host system will alsotypically have other devices that communicate on system bus 13,including a central processing unit (“CPU”) 14 and memory 15. A spindlemotor (“SPM”) 16 and SPM control circuit 17 rotate disk 3 and maintaindisk 3 at the proper speed for performing a memory access operation(read or write operation). The SPM control circuit 17 may communicatewith interface adapter 12, as shown in FIG. 1. Alternatively, SPMcontrol circuit 17 may be controlled by or otherwise communicate withchannel controller 11, as shown in dashed lines in FIG. 1. It isunderstood that disk drive 2 may be divided into and/or include otherfunction blocks from those shown in FIG. 1, and that the particularfunction block implementations illustrated in FIGS. 2 and 3 arepresented as an exemplary preferred embodiment of the present invention.

[0018] Referring to FIG. 2, there is shown SPM control circuit 17 forcontrolling spindle motor 16 of disk drive system 1 in accordance with apreferred embodiment of the present invention. The SPM control circuit17 (hereafter referred to as the “controller 17”) may directlycommunicate with interface adapter 12, as shown in FIG. 1.

[0019] Controller 17 preferably controls the sequence of drive signalsapplied to the input/output (I/O) terminals of phase windings or linesP1-P3 of motor 16 in order to, among other things, suitably spin motor16 so that data stored on the associated media disk (not shown) may beaccessed. It is understood, however, that controller 17 may be utilizedin controlling the operation of a multiphase motor for other systems aswell.

[0020] Controller 17 is preferably programmable to execute a number ofoperations. For example, controller 17 may be programmed to sense and/ormeasure current or another electrical characteristic appearing on one ormore phase windings P1-P3 of the multiphase motor which can then be usedto determine rotor position. Current sense measurements may be used todetect whether or not the rotor of motor 16 is spinning.

[0021] In addition, controller 17 may be programmed to execute aresynchronization operation in which drive signals to be applied tophase windings P1-P3 are synchronized with the position of a presentlyspinning rotor.

[0022] Controller 17 may include or otherwise be associated with aprocessing block 18 and lookup table 19 (FIG. 2). The lookup table 19may be utilized to, among other things, store program instructions to becarried out by processing block 18 in controlling the operation of motor16. Alternatively, controller 17 may include state machine circuitry(not shown) to sequentially step through a series of operations tocontrol the operation of motor 16.

[0023] Further, processing block 18 may include sense circuitry 18A tomeasure current levels in phase windings P1-P3, and timing circuitry 18Bto measure the amount of time that elapses for a phase winding currentto reach a predetermined threshold level I_(th). Processing block 18 mayfurther include arithmetic circuitry 18C to compare various measuredtime values with each other, identify the smallest measured time valueand determine whether spindle motor 16 is moving based upon thecomparisons and identifications. The specific operation of controller 17is described below.

[0024] Controller 17 may further include a predriver circuit 20 which,in general terms, receives control signals 21 from processing block 18and derives drive signals 22 to be applied to phase windings P1-P3 ofmotor 16. Predriver circuit 20 may include memory and other circuitry(not shown) for utilizing any of a number of drive techniques fordriving and/or controlling motor 16, such as pulse width modulation.

[0025] Controller 17 may further include a power driver circuit 23 whichis adapted to receive an electrical signal from any terminal of phasewinding P1-P3 that is not currently being driven, and send the receivedsignal to processing block 18. Power driver circuit 23 also receivesdrive signals 22 from predriver circuit 20 and applies drive signals 22to phase windings P1-P3 of motor 16.

[0026] The operation of preferred embodiments of the present inventionwill be described with reference to FIGS. 3-4. As discussed above, adisk drive 2 may undergo a relatively prolonged period of inactivitywithout having to respond to a request for memory access. During thisperiod of inactivity in which the disk drive is in a “standby” state,the multiphase motor is undriven by controller 17. Consequently, motor16 may considerably spin down to a relatively slow speed and in someinstances stop spinning altogether. In order to relatively rapidly rampup motor 16 from a standby state in response to a request for memoryaccess, controller 17 initially senses or measures an electricalcharacteristic of at least one phase winding or line of motor 16 todetermine whether or not the motor's rotor is spinning.

[0027] In one embodiment of the present invention, timing circuitry 18Bis initialized and activated to begin counting at step 30 (FIG. 3) andsense circuitry 18A senses current on a single phase winding (P1, P2 orP3) at step 31 at that time, until the sensed current reaches and/orsurpasses a predetermined threshold current level I_(th). At that point,timing circuitry 18B is deactivated at step 32 and the measured timevalue Tval is temporarily stored at step 33.

[0028] Steps 30-33 are repeated a predetermined number of timescorresponding to the same phase winding P1, P2 or P3. The maximummeasured time value Tval_(max) and minimum measured time valueTval_(min) are identified (at step 34) and compared to each other (atstep 35) by arithmetic circuitry 18C. If the minimum measured time valueTval_(min) is within a predetermined percentage of maximum measured timevalue Tval_(max), then processing block 18 determines that the motor 16is not spinning at step 36. Next, the position of the rotor of motor 16is then determined at step 37. Having information relating to theposition of stationary motor 16, a spin-up operation is performed atstep 38 so as to spin the rotor and bring the spin speed thereof to anoperable level at which a memory access operation may occur. Byeliminating an initial resynchronization operation and instead initiallyperforming a sensing operation immediately followed by a spin-upoperation, controller 17 is capable of bringing the disk drive from astandby state to an operable state much more rapidly than experienced inprior disk drive systems.

[0029] If the minimum measured time value Tval_(min) is not within thepredetermined percentage of maximum measured time value Tval_(max), thenprocessing block 18 determines that the motor 16 is spinning at step 39and executes a resynchronization operation at step 40 to synchronizeand/or resynchronize the application of drive signals to the spinningmotor 16. In this way, the spin of the rotor will be smoothly increasedupon application of the drive signals.

[0030] A second embodiment of the present invention utilizes aninductive sense operation in sensing one or more electricalcharacteristics of motor 16. In particular, timing circuitry 18B isinitialized and activated to begin counting at step 42 (FIG. 4), andsense circuitry 18A senses current from a phase winding during a firstcommutation sequence at step 43 until the sensed current reaches and/orsurpasses the predetermined threshold current level I_(th). At thatpoint, timing circuitry 18B is deactivated at step 44 and the measuredtime value Tval is temporarily stored at step 45.

[0031] Steps 42-45 are repeated for each of the six commutationsequences or phases of a first commutation cycle, so that six measuredtime values Tval are obtained. Next, the minimum measured time valuecorresponding to the first commutation cycle Tvalmin(1) is determined atstep 46. Steps 42-46 are then repeated for a second commutation cycle.In this way, a second set of six measured time values Tval are obtainedcorresponding to the second commutation cycle, and minimum measured timevalue Tval(2) determined therefrom. It is understood that steps 42-46may be repeated for any number of commutation cycles.

[0032] The minimum measured time values Tvalmin(l) and Tvalmin(2) arethen compared to each other at step 47. If the minimum measured timevalue Tvalmin(l) is approximately equal to the minimum measured timevalue Tvalmin(2), then a determination is made at step 48 that motor 16is not spinning. Alternatively, if the minimum measured time valueTvalmin(1) is not approximately equal to the minimum measured time valueTvalmin(2), then a determination is made at step 49 that motor 16 is notspinning. The inductive sense operation is complete following thedetermination of whether or not motor 16 is spinning.

[0033] Next, the position of the rotor of motor 16 is determined in step50 following a determination that motor 16 is not spinning. A spin-upprocedure is performed thereafter at step 51 so as to spin the rotor andbring the spin speed thereof to an operable level at which the memoryaccess operation may occur. A resynchronization operation is executed atstep 52 following a determination that the that motor 16 is spinning.The resynchronization operation synchronizes or resynchronizes theapplication of drive signals to motor 16 so that the spin of the rotoris smoothly increased to operable spin levels.

[0034] As can be seen, the operation illustrated in FIG. 3 in accordancewith a first embodiment of the present invention can be performed fasterthan the operation illustrated in FIG. 4 in accordance with a secondembodiment of the present invention. This is because only a few currentsensing steps are preformed on a single phase winding, relative to thenumber of current sensing steps performed during each commutation phaseof multiple commutation cycles as shown in FIG. 4.

[0035] The invention being thus described, it will be obvious that thesame may be varied in many ways. Such variations are not to be regardedas a departure from the spirit and scope of the invention, and all suchmodifications as would be obvious to one skilled in the art are intendedto be included within the scope of the following claims.

What is claimed is:
 1. A method of spinning a multiphase motor of a diskdrive having a rotor and phase windings from an undriven state,comprising the steps of: initially sensing an electrical characteristicof at least one phase winding of the motor; determining whether themotor is spinning based on the electrical characteristic; andselectively performing a spin-up procedure on the motor upon adetermination that the rotor is not spinning.
 2. The method of claim 1,wherein: the step of initially sensing comprises the step of initiallyperforming an inductive sense operation on the motor.
 3. The method ofclaim 1, further comprising the step of: determining a position of therotor.
 4. The method of claim 1, further comprising the steps of:synchronizing an application of drive signals for the phase windings ofthe motor to the position of the rotor upon a determination that therotor is spinning during the step of sensing; and sequentially applyingthe drive signals to the phase windings of the motor following the stepof synchronizing.
 5. The method of claim 1, further comprising the stepof: performing a resynchronization procedure to synchronize signals fordriving the phase windings of the motor to the position of the rotor,upon a determination that the rotor is spinning during the step ofsensing an electrical characteristic.
 6. The method of claim 1, whereinthe step of initially sensing comprises the step of: sensing theelectrical characteristic corresponding to one or more commutationsequences in a plurality of commutation cycles; and measuring a timevalue for each commutation sequence in which the electricalcharacteristic is sensed.
 7. The method of claim 6, wherein the step ofdetermining comprises the steps of: comparing at least one measured timevalue from each commutation cycle with each other; and determiningwhether the rotor is spinning based upon the compared measured timevalues.
 8. The method of claim 7, wherein the step of comparingcomprises the steps of: identifying the smallest measured time value foreach commutation cycle; and determining whether the identified smallestmeasured time values for each commutation cycle are within apredetermined percentage of each other.
 9. A controller for a multiphasemotor, the multiphase motor including a plurality of phase windings anda rotor, comprising: a first circuit for initially sensing at least oneelectrical characteristic of one or more phase windings of the motor anddetermining whether the rotor is spinning following the motor being inan undriven state, based upon the sensed electrical characteristic; anda second circuit for selectively performing a spin-up procedure on themotor upon a determination that the rotor is not spinning.
 10. Thecontroller of claim 8, wherein: the first circuit performs an inductivesense operation.
 11. The controller of claim 9, wherein: the firstcircuit further determines a position of the rotor.
 12. The controllerof claim 11, further comprising: a third circuit for executing, upon adetermination by the first circuit that the rotor is spinning, aresynchronization operation to resynchronize drive signals to thedetermined spin of the rotor.
 13. The controller of claim 9, wherein:the first circuit senses the electrical characteristic corresponding toone or more commutation sequences in a plurality of commutation cyclesand measures a time value for each commutation sequence in which theelectrical characteristic is sensed.
 14. The controller of claim 13,wherein: the first circuit compares at least one measured time valuefrom each commutation cycle with each other and determines whether therotor is spinning based upon the compared measured time values.
 15. Amethod of spinning a multiphase motor of a disk drive having a rotor andphase windings from an undriven state, comprising the steps of:initially sensing, immediately following a period of time the phasewindings are undriven, an electrical characteristic of one or more phasewindings of the motor to determine whether the rotor is spinning; andselectively performing a resynchronization operation on the motor upon adetermination that the rotor is spinning.
 16. The method of claim 15,wherein the step of initially sensing comprises the steps of: sensingthe electrical characteristic of the one or more phase windings of themotor during a plurality of commutation cycles to obtain at least onetime based value therefor; and determining that the rotor is spinningupon a smallest time based value corresponding to a first commutationcycle being substantially the same as the smallest time based value froma second commutation cycle.
 17. The method of claim 15, furthercomprising the step of: selectively performing a spin-up procedure upona determination during the step of sensing that the rotor is notspinning.
 18. The method of claim 15, wherein: the step of selectivelyperforming a resynchronization operation comprises the step ofsynchronizing to the spin of the rotor an application of drive signalsfor driving the phase windings of the motor.
 19. A controller for amultiphase motor having a rotor and phase windings, comprising: a firstcircuit for initially sensing, immediately following a period of timeduring which the phase windings are undriven, an electricalcharacteristic one or more phase windings of the motor and determiningwhether the rotor is spinning based upon the sensed electricalcharacteristic; and a second circuit for selectively performing aresynchronization procedure on the motor upon a determination by thefirst circuit that the rotor is spinning.
 20. The controller of claim19, wherein the first circuit comprises: a third circuit for sensing theelectrical characteristic of the phase winding of the motor to obtain afirst time based value corresponding to a first commutation cycle and asecond time based value corresponding to a second commutation cycle; anda fourth circuit for determining that the rotor is spinning upon a firsttime based value being substantially different from the second timebased value.
 21. The method of claim 19, further comprising: a thirdcircuit for selectively performing a spin-up procedure upon adetermination by the first circuit that the rotor is not spinning. 22.The method of claim 19, wherein the first circuit comprises: a thirdcircuit for sensing the electrical characteristic of the phase windingof the motor to obtain a first time based value corresponding to a firstcommutation cycle and a second time based value corresponding to asecond commutation cycle; and a fourth circuit for determining that therotor is spinning upon a first time based value being substantially thesame as the second time based value.
 23. The method of claim 19,wherein: the second circuit comprises a third circuit for synchronizingto the spin of the rotor an application of drive signals for driving thephase windings of the motor.
 24. A disk drive system, comprising: atleast one disk on which data is stored; at least one head positionedproximally to the disk; channel control circuitry for positioning thehead in a desired position relative to the disk, receiving data sensedby the head during a read operation and placing data on the head duringa write operation; a multiphase spindle motor, connected to spin thedisk, having a rotor and a plurality of phase windings; and spindlemotor control circuitry, connected to the phase windings of the spindlemotor, for controlling the spindle motor, the spindle motor controlcircuitry being responsive to a request for performing a memory accessfollowing a period of disk drive inactivity by initially sensing anelectrical characteristic of one or more phase windings of the spindlemotor to determine whether the rotor is spinning and selectivelyperforming a spin-up procedure on the spindle motor upon a determinationthat the rotor is not spinning.
 25. The disk drive system of claim 24,wherein: the spindle motor control circuitry further determines aposition of the rotor in the event the rotor is not spinning.
 26. Thedisk drive system of claim 24, wherein: the spindle motor controlcircuitry, upon a determination that the rotor is spinning, executes aresynchronization operation to resynchronize drive signals for the phasewindings of the spindle motor to the determined spin of the rotor. 27.The disk drive system of claim 24, wherein: the spindle motor controlcircuitry senses current during one or more commutation sequences ineach of a first commutation cycle and a second commutation cycle,measures a time value for the current sensed in the one or morecommutation sequences for each of the first and second commutationcycles, selects a measured time value associated with each of the firstand second commutation cycles, and determines whether the rotor isspinning based upon a comparison of the selected measured time values.28. The disk drive system of claim 27, wherein: the spindle motorcontrol circuitry determines a position of the rotor based upon thecomparison.